package cn.edu.cuit.calculator.dao.impl;

import cn.edu.cuit.calculator.dao.CalculatorDao;
import cn.edu.cuit.calculator.utils.JsonUtil;
import org.springframework.stereotype.Repository;

import java.util.HashMap;
import java.util.Map;

/**
 * @author chen
 */
@Repository
public class CalculatorDaoImpl implements CalculatorDao {

    /**写入的文件绝对路径*/
    private static String jsonPath = "C:\\Users\\chen\\Desktop\\Exp_1\\src\\main\\resources\\data.json";
    /**是否追加*/
    private static Boolean isAppend = true;
    /**是否覆盖 */
    private static Boolean isCover = false;

    /**
     *
     * @return 读取文件中的数据
     */
    @Override
    public String readRecord() {
        /** 用到JsonUtil 工具类 */
        return JsonUtil.readJson(jsonPath);
    }

    /**
     *
     * @param expression 表达式
     * @param result  结果
     * @param submitTime 提交的时间
     */
    @Override
    public void saveRecord(String expression, String result, String submitTime) {

        Map<String, String> map = new HashMap<>();
        map.put("expression", expression);
        map.put("result", result);
        map.put("submitTime", submitTime);
        /** 利用JsonUtil 将 表达式 结果  提交的时间 以json 格式写入 文件中 */
        Boolean isSuccess = JsonUtil.writeJson(jsonPath, map, isAppend);

        if (!isSuccess) {
            System.out.println("保存失败！");
        }
    }
}